package pub.tbc.hh.mall.service;

import java.util.List;
import java.util.Map;

/**
 * 购物车服务
 *
 * @author tbc
 */
public interface ShoppingCartService {

    /**
     * 按用户ID查询购物车中商品
     *
     * @param waresId
     * @return
     */
    Map<String, Object> queryWaresByUserId(int waresId);

    /**
     * 添加商品到用户的购物车
     *
     * @param params 用户ID、商品ID、商品数量
     * @return
     */
    boolean addWares(Map<Long, List<Map<Long, Integer>>> params);

    /**
     * 添加商品到用户的购物车
     *
     * @param params 用户ID、商品ID、商品数量
     * @return
     */
    boolean delWares(Map<String, Object> params);

    /**
     * 从购物车中减少商品（当减少的数量等于低于0时移除该商品，适应于减数量操作和从购物车移除操作）
     *
     * @param params 用户ID、商品ID及商品数量列表（map）
     * @return
     */
    boolean batchAddWares(Map<Long, List<Map<Long, Integer>>> params);

    /**
     * 依次从购物车中减少商品（当减少的数量等于低于0时移除该商品）
     *
     * @param params 用户ID、商品ID及商品数量列表（map）
     * @return
     */
    boolean batchDelWares(Map<String, Object> params);


}
